#!/bin/bash

# 定义模板内容
declare -A templates

templates[py]=$'# Python\n__pycache__/\n*.pyc\n*.pyo\n.venv/\n*.pkl\n*.h5\n*.json\n*.log\n*.ipynb_checkpoints\n!*.py'
templates[c]=$'# C/C++\n*.o\n*.out\n*.a\n*.so\n*.exe\nbuild/'
templates[js]=$'# Node.js\nnode_modules/\ndist/\n*.log'
templates[java]=$'# Java\n*.class\n*.jar\n*.log\nbin/\n*.iml\n.idea/'
templates[go]=$'# Go\n*.exe\n*.test\n*.out\nbin/\nvendor/'
templates[rs]=$'# Rust\ntarget/\n*.rs.bk\nCargo.lock'
templates[sh]=$'# Shell\n*.log\n*.out\n*.bak'
templates[default]=$'# Generic\n*.log\n*.tmp\n*.swp\n'

# 遍历 dev/* 下的子目录
for lang_dir in dev/*; do
    if [[ -d "$lang_dir" ]]; then
        lang=$(basename "$lang_dir")
        gitignore_path="$lang_dir/.gitignore"

        if [[ -f "$gitignore_path" ]]; then
            echo "✔️  $gitignore_path already exists. Skipping."
        else
            content="${templates[$lang]:-${templates[default]}}"
            echo "$content" > "$gitignore_path"
            echo "✅ Created $gitignore_path"
        fi
    fi
done
